using System;
using System.Collections.Generic;
using System.Text;
using ClickSocial.Framework;

namespace ClickSocial.Entities
{
    public class VentaItemInfo : IHydratable<long>, ICloneable
    {
        #region Campos
        private long _VentaItemID;
        private string _Nombre;
        private string _Descripcion;
        private double _Precio;
        private long _VentaID;
        private long _EventoID;
        private string _Fotografo;
        #endregion

        #region Propiedades
        public long VentaItemID
        {
            get { return _VentaItemID; }
            set { _VentaItemID = value; }
        }
        public string Nombre
        {
            get { return _Nombre; }
            set { _Nombre = value; }
        }
        public string Descripcion
        {
            get { return _Descripcion; }
            set { _Descripcion = value; }
        }
        public double Precio
        {
            get { return _Precio; }
            set { _Precio = value; }
        }
        public long VentaID
        {
            get { return _VentaID; }
            set { _VentaID = value; }
        }
        public long EventoID
        {
            get { return _EventoID; }
            set { _EventoID = value; }
        }
        public string Fotografo
        {
            get { return _Fotografo; }
            set { _Fotografo = value; }
        }
        #endregion

        #region IHydratable<long> Members

        public long KeyID
        {
            get
            {
                return _VentaItemID;
            }
            set
            {
                _VentaItemID = value;
            }
        }

        public void Fill(System.Data.IDataReader dr)
        {
            _VentaItemID = Convert.ToInt64(Null.GetNull(dr[dr.GetOrdinal("VentaItemID")], _VentaItemID));            
            _Nombre = Convert.ToString(Null.GetNull(dr[dr.GetOrdinal("Nombre")], _Nombre));
            _Descripcion = Convert.ToString(Null.GetNull(dr[dr.GetOrdinal("Descripcion")], _Descripcion));
            _Precio = Convert.ToDouble(Null.GetNull(dr[dr.GetOrdinal("Precio")], _Precio));
            _VentaID = Convert.ToInt64(Null.GetNull(dr[dr.GetOrdinal("VentaID")], _VentaID));
            _EventoID = Convert.ToInt64(Null.GetNull(dr[dr.GetOrdinal("EventoID")], _EventoID));
            _Fotografo = Convert.ToString(Null.GetNull(dr[dr.GetOrdinal("Fotografo")], _Fotografo));
        }

        #endregion

        #region ICloneable Members

        public object Clone()
        {
            return (VentaItemInfo)this.MemberwiseClone();
        }

        #endregion
    }
}
